/**
 * 直流电机 控制转速
 */
#include <REGX52.H>

//电机引脚定义
sbit Motor_Port = P1^0;

//                   计数      对比值(值越大, 灯越亮/电机越快)   转速
static unsigned char Motor_Counter, Motor_Compare = 5;

/**
  * @brief  电机设置速度
  * @param  Speed 要设置的速度，范围0~100
  * @retval 无
  */
void Motor_SetSpeed(unsigned char Speed) {
    Motor_Compare = Speed;
}

//在定时器中调用这个方法, 一般100μs调用1次
void Motor_CallOnTimer() {
    Motor_Counter++;
    //10ms进入1次
    if (Motor_Counter >= 100) Motor_Counter = 0;
    Motor_Port = Motor_Counter < Motor_Compare;
}
